package com.bzkj.basicinfo.mapper;

import com.bzkj.basicinfo.domain.ncc.NccBasicUserInfo;
import com.bzkj.basicinfo.domain.ncc.erp.UserInfoRootBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface NccBasicUserInfoMapper
{

    /**
     * 根据code查询ncc人员信息
     *
     * @param code
     * @return
     */
    NccBasicUserInfo queryNccBasicUserInfo(String code);

    /**
     * NCC人员信息-如果能根据code查询到，修改数据
     *
     * @param customer
     */
    void updateNccBasicUserInfo(NccBasicUserInfo customer);

    /**
     * NCC人员信息-如果不能根据code查询到，新增数据
     *
     * @param customer
     */
    void insertNccBasicUserInfo(NccBasicUserInfo customer);

    /**
     * 修改人员信息状态
     *
     * @Author wangzhichao
     * @Date 2024/12/04 14:56:20
     * @Param status 状态
     * @Param id 编号
     */
    int nccBasicUserInfoEnableStateUpdate(@Param("status") String status, @Param("pK_PSNDOC") String pK_PSNDOC);

    /**
     * 修改人员信息
     * @Author wangzhichao
     * @Date 2024/12/04 16:53:47
     * @Param entity
     */
    int nccBasicUserInfoUpdate(@Param("entity") NccBasicUserInfo entity);

    /**
     * 分页查询人员数据
     * @Author wangzhichao
     * @Date 2024/12/04 16:54:05
     * @Param entity
     * @Param pageDomain
     */
    List<NccBasicUserInfo> nccBasicUserInfoFindList(@Param("entity") NccBasicUserInfo entity);

    /**
     * 获取总条数
     * @Author wangzhichao
     * @Date 2024/12/04 16:54:20
     * @Param entity
     */
    int getTotal(NccBasicUserInfo entity);

    /**
     * 获取最新的id值
     * @Author wangzhichao
     * @Date 2024/12/05 13:27:39
     */
    int getOrderById();

    /**
     * 根据员工编号获取信息
     * @Author wangzhichao
     * @Date 2024/12/05 13:27:50
     * @Param code
     */
    NccBasicUserInfo findUserCodeIsExist(@Param("code") String code);

    List<String> findNccBasicUserNameList(String userName);

    Set<String> findNccBasicpkMeasdocSetList(@Param("pkMeasdoc") List<String> pkMeasdoc);

    String findNccBasicUserRefId(@Param("userRefId")String userRefId);

    /**
     * 基础数据同步
     * @param userInfoRootBean
     */
    void insertOrUpdate(@Param("item") UserInfoRootBean userInfoRootBean);
}
